#ifndef EVENT_H_
#define EVENT_H_

#include <vector>

class GameState;
class GameEngine;
class MenuState;

class Event
{
public:
    Event();
    virtual ~Event();

    virtual GameState* visitMenuState(MenuState* menuState) const;

    virtual void visitGameEngine(GameEngine* gameEngine) const;
};

typedef std::vector<Event*> Events;

#endif
